-- @owner: @nanyang12
-- @date: 2025/4/1
-- @testpoint:使用postgresql风格创建自定义函数，参数有默认值，指定language为pltsql

@conn PrimaryDbDmode;
CREATE OR REPLACE FUNCTION multiply_numbers(a INTEGER, b INTEGER DEFAULT 1)
RETURNS INTEGER AS $$
BEGIN
 RETURN a * b;
END;
$$ LANGUAGE pltsql;
/
-- 调用函数，使用默认参数，成功
SELECT multiply_numbers(3);
-- 调用函数，不使用默认参数，成功
SELECT multiply_numbers(3, 4);
--通过系统表查询函数信息，成功
select l.lanname from pg_language l join pg_proc p on l.oid = p.prolang and p.proname in ('multiply_numbers');
--清理环境
drop function if exists multiply_numbers();
